const sass = require('sass')
const loadGruntTasks = require('load-grunt-tasks')

module.exports = grunt => {

    /**
     * 配置目标
     */
    grunt.initConfig({
        // clean: {
        //     // temp: 'temp/app.js',
        //     // temp: 'temp/*.txt'
        //     temp: 'temp/**', //当前文件及当前文件下的自文件
        // },
        sass: {
            options: {
                sourceMap: true,
                implementation: sass
            },
            main: {
                files: {
                    "dist/css/main.css": "src/scss/main.scss"
                }
            }
        },
        babel: {
            options: {
                sourceMap: true,
                presets: ["@babel/preset-env"]   //按照最新的ES语法转化
            },
            main: {
                files: {
                    "dist/js/app.js": "src/js/app.js"
                }
            }
        },
        watch: {
            js: {   //设置监听的目标
                files: ['src/js/*.js'],
                tasks: ['babel']
            },
            scss: {
                files: ['src/scss/*.scss'],
                tasks: ['sass']
            }
        }
    })

    /**
     * 加载插件中提供的一些任务
     * @param 插件名称
     */
    // grunt.loadNpmTasks('grunt-contrib-clean')
    // grunt.loadNpmTasks('grunt-sass')

    loadGruntTasks(grunt)  //会自动添加所有的grunt插件中的任务

    grunt.registerTask('default', ['babel', 'sass', 'watch'])
}